using CodeSaude.Domain.Entities;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity.ModelConfiguration;

namespace CodeSaude.Infrastructure.Data.EntityConfig
{
    public class registro_saidaMap : EntityTypeConfiguration<RegistroSaida>
    {
        public registro_saidaMap()
        {
            // Primary Key
            this.HasKey(t => t.RegistroSaidaId);

            // Properties
            this.Property(t => t.local_encaminhar)
                .HasMaxLength(255);

            this.Property(t => t.motivo_a_revelia)
                .HasMaxLength(255);

            this.Property(t => t.hospital_transferencia)
                .HasMaxLength(100);

            // Table & Column Mappings
            this.ToTable("registro_saida");
            this.Property(t => t.RegistroSaidaId).HasColumnName("id_registro_saida");
            this.Property(t => t.id_registro).HasColumnName("id_registro");
            this.Property(t => t.id_especialidade).HasColumnName("id_especialidade");
            this.Property(t => t.codigo_saida).HasColumnName("codigo_saida");
            this.Property(t => t.encaminhar).HasColumnName("encaminhar");
            this.Property(t => t.local_encaminhar).HasColumnName("local_encaminhar");
            this.Property(t => t.motivo_a_revelia).HasColumnName("motivo_a_revelia");
            this.Property(t => t.tipo_instituicao).HasColumnName("tipo_instituicao");
            this.Property(t => t.hospital_transferencia).HasColumnName("hospital_transferencia");
            this.Property(t => t.data_hora_obito).HasColumnName("data_hora_obito");
            this.Property(t => t.antes_de_24h).HasColumnName("antes_de_24h");
            this.Property(t => t.data_criacao).HasColumnName("data_criacao");
            this.Property(t => t.Usuario_criacao).HasColumnName("Usuario_criacao");
            this.Property(t => t.data_alteracao).HasColumnName("data_alteracao");
            this.Property(t => t.Usuario_alteracao).HasColumnName("Usuario_alteracao");
            this.Property(t => t.observacao_saida).HasColumnName("observacao_saida");
            this.Property(t => t.ambulancia_proprio).HasColumnName("ambulancia_proprio");

            // Relationships
            //this.HasRequired(t => t.registro_atendimento)
            //    .WithMany(t => t.registro_saida)
            //    .HasForeignKey(d => new { d.id_registro, d.id_especialidade });

        }
    }
}
